<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
            声明数组
                1.new方法   let arr = new Array(100,true,"hello")
                2.省略new方法   let arr = Array(100,true,"hello")

                上述方法，传入的参数只有一个的时候，且是数字，直接声明这么长的一个数组
                3.数组常量进行赋值   let arr = [100,true,"hello"]

            数组的属性：
                数组.length  返回值数组【元素】的个数
            
            数组的遍历：
                for循环
                for...in遍历  快速遍历/快速枚举 速度比for快 取值是下标
            
            数组的方法：
                push() 数组末尾添加元素 返回数组的长度
                pop()  从数组末尾取下一个元素 返回取下的元素
                shift() 从数组的头部取下一个元素 返回取下的元素
                unshift() 从数组的头部插入元素 返回插完元素后的数组长度
                concat()  合并数组 返回合并成的新数组   不会更改原来的数组
                slice()   两个参数，提取元素生成新数组  不会更改原来的数组
                splice()  最少两个参数，第一个是开始的位置，第二个是截取的长度，第三个开始是要插入的元素
                        进行增加、删除、修改的功能
                join()   将数组中的元素，通过传入的拼接符，拼接成一个字符串    返回拼接好的字符串、
                reverse()  逆序
                sort()   排序 默认从小到大排序，是按照字符串排序的
                    arr.sort(function(val1,val2){
                        return val1-val2;  //从小到大排序
                    })
        */
        /*
            Math.random()   [0,1)
        */
        /*
            省略var  会强制帮你搞成全局变量（不推荐，是语法错误，只是js比较宽容）
        */
        /*
            ECMA5新增数组方法
                indexOf()
                    格式：数组.index(item,start);
                    参数：item 任意数组
                          start 下标 可以不传入，默认是0
                    功能：在数组中查找第一次出现item元素下标，从start开始查找
                    返回值：-1 没有查到
            
            数组遍历
                老的方法：for，for...in
                新方法
                    forEach  参数：元素，下标，数组本身
                    map      参数：元素，下标，数组本身  
                            返回值是遍历要做的事情，相对于映射，可以每个元素*3返回的数组就是*3后的数组
                    filter   参数：元素，下标，数组本身  过滤要过滤的，返回的数组是以过滤的数组
                    some     参数：元素，下标，数组本身  
                            在数组中查找是否有符合条件的元素，有返回true，没有返回false
                            短路操作：只要找到符合条件的元素，后面的循环就停止了
                    every    参数：元素，下标，数组本身  
                            在数组中查找每一个元素是否符合条件，符合返回true，没有返回false
                            短路操作：只要找到不符合的元素，后面的循环就停止
                    reduce   参数：prev，next，index，arr
                            prev 第一次是 下标为0的元素，第二次开始 是上一次遍历return的值
                            next 从下标为1开始，当前遍历到的元素
        */
       function show(){
           num = 10;
           console.log(num);
       }
       show();
       console.log(num);
    </script>
</head>
<body>
    
</body>
</html>